The present invention relates to a method of generating and/or executing a diversified program flow from a program source code for or on at least two processing units of machine tools, production machines and robots.
Security zones are normally established in order to protect machines, production goods, persons against dangers in the security zone of machines or the like, and monitored, e.g. by sensors. A logical interconnection structure, related to the safety aspects of the machine and based on a programmable control, executes a defined action when the security zone is violated. The safety-related actions may involve, for example, a shutdown, certain operations in case of emergency, slowdown, position restrictions, etc. Hereby, the safety-related actions or security functions include system manipulations that may even involve the electric drives and measuring systems. A reliable function of secure operational modules in executable programs is hereby essential.
To ensure clarity, it is necessary to establish the definition of several important terms and expressions that will be used throughout this disclosure. The term “safety-related” designates hereby the recognition and managing of systematic and random errors, as well as failures. This can be realized, e.g., by the use of diversity in connection with computer systems or control systems of machine tools, production machines and robots, whereby the diversity involves the establishment of, e.g., several programs which satisfy the same specification. A comparison of the events, computed by the individual program variants, enables hereby a recognition of permanent and transient hardware errors in addition to the recognition of errors in design.
Typically, a logic program is used which involves redundant-parallel processing and cyclical comparison of results. When a deviation of the computed results has been ascertained, a secure state of the machine or of machine parts is immediately initiated.
It would be desirable and advantageous to provide an improved method of generating and/or executing a diversified program flow from a program source code.